package Testdmol2;

import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:周次煜
 * Testdmo1.Date: 2024-02-15
 * Time：9:18
 */

public class j2_15 {
    // psvm \ main 函数快捷键
    /* public static void main1(String[] args) {
        int a=10;
        byte b=20;

        System.out.println(b);

        //字面常量超过类型长度就会报错
        //可以强制转化
//        byte i=(byte)128;
//        int 的 包装类 Integer

        //打印其中不同类型的的最大值
//     System.out.println(Integer.MAX_VALUE);
//        System.out.println(Integer.MIN_VALUE);
//        System.out.println(Byte.MAX_VALUE);
//        System.out.println(Long.MAX_VALUE);
//
//        //结果变成了 最小值
//        System.out.println(i);

        // char 是两个 byte
        // 可以存储一个汉字
        // 但不可存储 两个字母
//        char c='zp';
//        System.out.println(c);

        // 布尔类型
        System.out.println(false);
        System.out.println(true);

        // 布尔类型只是用来判断的 返回的是 true / false
        boolean w= 6<=9;
        System.out.println(w);
    }


    public static void main2(String[] args) {

        // 单分支
        int a=2;
        if(a==2) {
            System.out.println("a="+2);
        }

        // 双分支
        if (a%2==0) {
            System.out.println("偶数");
        }else {
            System.out.println("奇数");
        }

        // 多分支
        int n=-6;
        if (n>0){
            System.out.println("n为"+"整数");
        }else if(n<0){
            System.out.println("n为"+"负数");
        }else {
            System.out.println("n为"+"零");
        }


    }


    public static void main3(String[] args) {
        int a=1;
//       1 <<  2  =1 *  2^2=4
        System.out.println(a<<2);
        int b=8;
//       8 >> 2   =8 / 2^2 =2
        System.out.println(b>>2);

//      -1 >>> 1
//        11111111111
//       变成很大的数字  01111111111
        System.out.println(-1>>>1);

//        -1>>1
//        111111111
//         111111111
        System.out.println(-1>>1);





    }

    public static void main4(String[] args) {

        // 0001
        // 0011 &
        // 0001  =1
        System.out.println(1&3);

        // 0001
        // 0011 |
        // 0011  =3
        System.out.println(1 | 3);

        // 0111
        // 0000   ^
        // 0011   =7
        System.out.println(7 | 0);

        // 1111
        // 1111  ^
        // 0000  =0
        System.out.println(15 ^ 15);

        // 000000001...
        // 111111110  ~1
        // 100000001
        // 100000010  =-2
//        注意这里的符号位也要取反
        System.out.println(~1);
    }

    public static void main(String[] args) {
        int a=10,b=20;
//       boolean v1= (a%10==0) & (a% 10==0) ;
       boolean v1= (a%10==0) && (a% 10==0) ;

        System.out.println(v1);
//       两者类似， 但不存在 | 和 & 发生短路现象
//       boolean v2=  (a!=20)  |  (a!=10);
       boolean v2=  (a!=20)  ||  (a!=10);

        System.out.println(v2);

        // 一个 |  不会发生短路
        boolean v3=(10 >= 5|| 10/0==0);


        // 三目操作符
       // 这里也可不用 布尔类型
        int  max = a>b ? a : b;
        boolean fault = a>b ?true :a<b ?true : false;

        System.out.println(max);
        System.out.println(fault);

    }

    public static void main6(String[] args) {

        // 基本数据类型 char 占两个 byte
        char c='周';
        System.out.println(Character.MAX_VALUE);
        System.out.println(c);

        // 引用数据类型 String 字符串类型
        // 注意是大驼峰
        String str1 = "周帅比";
        String str2 ="太酷了";
        String str3 =str1+str2;
        System.out.println(str1);
        System.out.println(str3);

        int a=10,b=20;
        // + 可起连接两个字符串的作用
        System.out.println(" a="+a+" b="+b);

        //先遇到字符串就先连接
        System.out.println("a+b="+a+b);
//        a+b=1020

        System.out.println(a+b+"a+b=");
//        30a+b=

        System.out.println("a+b="+(a+b));
//        a+b=30


    }

    public static void main7(String[] args) {
//        字符想关

        // 一般的浮点数 默认为 double类型
        double dou =19.23;
        System.out.println(dou);

      // double 是 8个 byte float 是 4 byte
      // 小可放大, 但 大不可放小
        // 隐式转化
        float f=12.5f;
        System.out.println(f);

//        显式转化
        float fl=(float) 190.66;
        System.out.println(fl);

        // 一般要加的话,建议加 L
        long s=19L;
        System.out.println(s);

    }

*/


//    public static void main8(String[] args) {
//
//        byte a=10;
//        byte b=20;
//        a=(byte)(a+10);
//        // += 会自动转化为 byte
//        //a += 10;
//        System.out.println(a);
//
//        //  a+b 在计算时会自动转化为 整型 int 计算
//        byte c=(byte)(a+b);
//        System.out.println(c);
//
//        // 不可 整数/0 会报错
//        //double sh=10/0;
//
//        double ch=10.0/0;
//        // 默认 ch 是个无穷大的数字
//        System.out.println(ch);
//
//    }




}


